package com.ssy.lingxi.order.service.web;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.order.model.vo.basic.request.PreOrderCacheKeyVO;
import com.ssy.lingxi.order.model.vo.basic.request.PreOrderCacheVO;
import org.springframework.http.HttpHeaders;

/**
 * 预下单相关接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-20
 */
public interface IPreOrderService {
    /**
     * 缓存预下单
     * @param headers Http头部信息
     * @param cacheVO 接口参数
     * @return 缓存结果
     */
    Wrapper<Void> cachePreOrder(HttpHeaders headers, PreOrderCacheVO cacheVO);

    /**
     * 查询预下单信息
     * @param headers Http头部信息
     * @param keyVO 接口参数
     * @return 查询结果
     */
    Wrapper<String> getCachedPreOrder(HttpHeaders headers, PreOrderCacheKeyVO keyVO);

    /**
     * 删除预下单信息
     * @param headers Http头部信息
     * @param keyVO 接口参数
     * @return 查询结果
     */
    Wrapper<Void> deleteCachedPreOrder(HttpHeaders headers, PreOrderCacheKeyVO keyVO);
}
